<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
<script type="text/javascript">
// function box(num){
// 	alert(num);

// }
// box(10);
// box(20);


/**
 * 1.全局作用域   
 * 2.函数作用域     
 * 3.执行上下文 
 * 4.变量对象
 * 5.变量初始化阶段 1.初始化阶段 2.代码执行阶段
 *   >函数参数(若未有传入,初始化该参数值为undefined)
 *   >函数声明(若发生命名冲突,会覆盖)
 *   >变量声明(初始化变量值为undefined,若发生命名冲突,会忽略)
 */
   
   //理解,执行上下文
  
/* console.log('Test0');
    //函数1
    function funTest1(){

         console.log('Test1');
       //函数2   
      function funTest2(){

           console.log('Test2');
       //函数3 
        function funTest3(){

            console.log('Test3');
        }
       funTest3();
      }
      funTest2();
    }
    funTest1();*/


/**
   理解 变量对象(Variable Object 缩写VO)
   变量对象是一个抽象的概念,指的是在全局作用域下或者是在函数作用域下,作
   用于函数或变量的初始化工作。*/

/*   function test(a,b){//顺序 首先是参数声明,函数数声明,变量的声明
      
      var  c = 10;
      function d(){}
      var e=function _e(){}//函数表达式名字不会VO。
      b=20;

   }

  //2.代码执行阶段
   test(10);
        VO(test){
        a:10,
        b:20,
        c:10,
        d:function(){},
        e:function(){}    
      }*/

    //题目一
    
/*    function foo(z){//z = 100
          function z(){          
          }
          document.write(z);
    }

    foo(100);*/

   
    //题目二
/*    function foo(x){
         function func(){}
         var func;
         document.write(func);//function (){}
    }
    foo(100);*/


    //题目三
/*    function foo(x){
         function func(){};
         var func=1;
         document.write(func)// 1
    }
foo(100);*/

    
    //题目四
    // alert(x);//function(){} 
    // var x = 10;
    // alert(x);//10 
    // x=20;
    // function x(){}
    // alert(x);//20  
    // if(true){
    //    var a = 1;
    // }else{
    //    var b = true;
    // }
    // alert(a);//1   
    // alert(b);//undefined
    // ...............................................
    // var val="xiaohei";
    //  function show(){
    //  	var index=0;
    //  	do{
    //  		index=val.indexof('i',index);
     	   
    //  		if (index==-1) {
    //  			break
    //  		}
    //  		index++;
    //  	}while(index!==-1);
    //  }
    //  split分离法：
		// var str="a1b2c3d4f5";
		// var arr=str.split(/\d/);
		// document.write(arr);
	 //............................................
	 //match匹配法(eg按字母分割)
	 var reg=/[a-z]/ig;
	 var val="d3fd3f3sdfwf34t";
	 document.write(val.match(reg));
</script>
<button onclick="show()">点我</button>
</body>
</html>>